//
//  NSString+ZXDrawing.h
//  Runner
//
//  Created by simon on 2021/8/4.
//
//  2021.09.14 优化获取文本占几行空间；

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface NSString (ZXDrawing)


#pragma mark - Drawing


/**
 获取文字所需要的尺寸

 @param text 文字内容
 @param size 显示尺寸范围
 @param font 字体大小
 @return size
 */
+ (CGSize)zx_boundingSizeOfString:(NSString *)text
                         withSize:(CGSize)size
                             font:(UIFont *)font;


+ (CGSize)zx_boundingSizeOfString:(NSString *)text
                         withSize:(CGSize)size
                         withFont:(UIFont *)font
                  withLineSpacing:(CGFloat)lineSpacing;

/**
 直接绘制文本到某个rect

 @param ctx 上下文
 @param text 文本
 @param rect rect
 @param font font
 */
+ (void)zx_drawTextInContext:(CGContextRef)ctx text:(NSString *)text inRect:(CGRect)rect font:(UIFont *)font;


/**
 获取文本占几行空间；

 @param size 有效范围内；
 @param font 字体大小
 @return 几行
 */
+ (NSUInteger)zx_numberLinesOfDefualtParagraphString:(NSString *)text
                                           boundSize:(CGSize)size
                                                font:(UIFont *)font;

@end

NS_ASSUME_NONNULL_END
